# @author zfd
# @date 2022年12月13日 13:48
# @desc 从 object 重写 __add__ 实现 +

print("整数的+操作*****************")
a = 20
b = 100
c = a + b
print(c)
d = a.__add__(b)
print(d)

print("实现类的+操作*****************")


class A:
    def __init__(self, name):
        self.name = name

    #      重写add 为 name字符串拼接
    def __add__(self, other):
        return self.name + other.name

    # 重写len
    def __len__(self):
        return len(self.name)


st1 = A('Jack')
st2 = A('lisi')
s = st1 + st2
print(s)
s = st1.__add__(st2)
print(s)
print('-------len()--------')
lst = [20, 40, 10, 98, 54]
print(len(lst))
print(lst.__len__())
print(len(st1))
